package com.ruoyi.web.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 商品基本信息对象 goods
 *
 * @author mengtian
 * @date 2025-06-16
 */
public class Goods extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    @Excel(name = "商品ID")
    private String id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** SPU编码 */
    @Excel(name = "SPU编码")
    private String spuCode;

    /** 商品描述 */
    @Excel(name = "商品描述")
    private String desc;

    /** 当前价格 */
    @Excel(name = "当前价格")
    private BigDecimal price;

    /** 原价 */
    @Excel(name = "原价")
    private BigDecimal oldPrice;

    /** 折扣率 */
    @Excel(name = "折扣率")
    private BigDecimal discount;

    /** 总库存 */
    @Excel(name = "总库存")
    private Long inventory;

    /** 销量 */
    @Excel(name = "销量")
    private Long salesCount;

    /** 评价数 */
    @Excel(name = "评价数")
    private Long commentCount;

    /** 收藏数 */
    @Excel(name = "收藏数")
    private Long collectCount;

    /** 分类ID */
    @Excel(name = "分类ID")
    private String categoryId;

    /** 品牌ID */
    @Excel(name = "品牌ID")
    private String brandId;

    /** 是否热销 */
    @Excel(name = "是否热销")
    private Integer isHot;

    /** 是否新品 */
    @Excel(name = "是否新品")
    private Integer isNew;

    /** 图片路径 */
    @Excel(name = "图片路径")
    private String picture;

    /** 排序号 */
    @Excel(name = "排序号")
    private Long orderNum;

    /** 视频比例 */
    @Excel(name = "视频比例")
    private Long videoScale;

    /** 主图片 */
    @Excel(name = "主图片")
    private String mainPicture;

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId()
    {
        return id;
    }

    public void setName(String name)
    {
        this.name = name;
    }

    public String getName()
    {
        return name;
    }

    public void setSpuCode(String spuCode)
    {
        this.spuCode = spuCode;
    }

    public String getSpuCode()
    {
        return spuCode;
    }

    public void setDesc(String desc)
    {
        this.desc = desc;
    }

    public String getDesc()
    {
        return desc;
    }

    public void setPrice(BigDecimal price)
    {
        this.price = price;
    }

    public BigDecimal getPrice()
    {
        return price;
    }

    public void setOldPrice(BigDecimal oldPrice)
    {
        this.oldPrice = oldPrice;
    }

    public BigDecimal getOldPrice()
    {
        return oldPrice;
    }

    public void setDiscount(BigDecimal discount)
    {
        this.discount = discount;
    }

    public BigDecimal getDiscount()
    {
        return discount;
    }

    public void setInventory(Long inventory)
    {
        this.inventory = inventory;
    }

    public Long getInventory()
    {
        return inventory;
    }

    public void setSalesCount(Long salesCount)
    {
        this.salesCount = salesCount;
    }

    public Long getSalesCount()
    {
        return salesCount;
    }

    public void setCommentCount(Long commentCount)
    {
        this.commentCount = commentCount;
    }

    public Long getCommentCount()
    {
        return commentCount;
    }

    public void setCollectCount(Long collectCount)
    {
        this.collectCount = collectCount;
    }

    public Long getCollectCount()
    {
        return collectCount;
    }

    public void setCategoryId(String categoryId)
    {
        this.categoryId = categoryId;
    }

    public String getCategoryId()
    {
        return categoryId;
    }

    public void setBrandId(String brandId)
    {
        this.brandId = brandId;
    }

    public String getBrandId()
    {
        return brandId;
    }

    public void setIsHot(Integer isHot)
    {
        this.isHot = isHot;
    }

    public Integer getIsHot()
    {
        return isHot;
    }

    public void setIsNew(Integer isNew)
    {
        this.isNew = isNew;
    }

    public Integer getIsNew()
    {
        return isNew;
    }

    public void setPicture(String picture)
    {
        this.picture = picture;
    }

    public String getPicture()
    {
        return picture;
    }

    public void setOrderNum(Long orderNum)
    {
        this.orderNum = orderNum;
    }

    public Long getOrderNum()
    {
        return orderNum;
    }

    public void setVideoScale(Long videoScale)
    {
        this.videoScale = videoScale;
    }

    public Long getVideoScale()
    {
        return videoScale;
    }

    public void setMainPicture(String mainPicture)
    {
        this.mainPicture = mainPicture;
    }

    public String getMainPicture()
    {
        return mainPicture;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("spuCode", getSpuCode())
                .append("desc", getDesc())
                .append("price", getPrice())
                .append("oldPrice", getOldPrice())
                .append("discount", getDiscount())
                .append("inventory", getInventory())
                .append("salesCount", getSalesCount())
                .append("commentCount", getCommentCount())
                .append("collectCount", getCollectCount())
                .append("categoryId", getCategoryId())
                .append("brandId", getBrandId())
                .append("isHot", getIsHot())
                .append("isNew", getIsNew())
                .append("picture", getPicture())
                .append("orderNum", getOrderNum())
                .append("videoScale", getVideoScale())
                .append("mainPicture", getMainPicture())
                .toString();
    }
}
